package study

//nginx简介
func nginxIntroduce() {
	/*

		什么是Nginx?


		Nginx (enginex)是一个高性能的HTTP和反向代理web服务器，同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔赛索耶夫为俄罗斯访问量第二的Rambler.ru站点（俄文: PaM6nep)开发的，第一个公开版本0.1.0发布于2004年10月4日。2011年6月1日，nginx 1.0.4发布。

		其特点是占有内存少，并发能力强，事实上nginx的并发能力在同类型的网页服务器中表现较好，中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。在全球活跃的网站中有12.18%的使用比率，大约为2220万个网站。

		Nginx是一个安装非常的简单、配置文件非常简洁（还能够支持perl语法)、Bug非常少的服务。Nginx启动特别容易，并且几乎可以做到7*24不间断运行
		即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。

		Nginx代码完全用C语言从头写成。官方数据测试表明能够支持高达50,000个并发连接数的响应。



		nginx 作用

		Http代理，反向代理:作为web服务器最常用的功能之一，尤其是反向代理。

		正向代理 ：代理客户端

			客户端 ---------->						 --------->		服务器
			客户端  --------->   代理  -------> 云 ------------>		服务器
			客户端 ---------->						 --------->		服务器


		1.反向代理：代理服务器端

			客户端 ---------->						 --------->		服务器
			客户端  --------->   云  -------> 代理 ------------>		服务器
			客户端 ---------->						 --------->	    服务器



		2.负载均衡
		Nginx提供的负载均衡策略有2种:
			1.内置策略。  内置策略为轮询，加权轮询，iphash。
			2.扩展策略。	 扩展策略，就天马行空，只有你想不到的没有他做不到的。

		轮询 ： 权重一样

			客户端 ---------->						 --------->		服务器	1，4，7请求
			客户端  --------->   云  -------> 代理 ------------>		服务器	2，5，8请求
			客户端 ---------->						 --------->	    服务器	3, 6, 9请求



		加权轮询 ： 权重不一样，权重大的分配多

			客户端 ---------->						 --------->		服务器[权重1]	1，3请求
			客户端  --------->   云  -------> 代理 ------------>		服务器[权重2]	2，4，7请求
			客户端 ---------->						 --------->	    服务器[权重3]	5, 6, 8，9请求


		iphash对客户端请求的ip进行hash操作，然后根据hash结果将同一个客户端jp的请求分发给同一台服务器进行处理，可以解决session不共享的问题 [不同服务器的session共享 = redis+token]

				客户端 ---------->						 --------->		服务器 	处理客户端ip 192.168.8.1的请求
				客户端  --------->   云  -------> 代理 ------------>		服务器 	处理客户端ip 192.168.8.2的请求
				客户端 ---------->						 --------->	    服务器	处理客户端ip 192.168.8.3的请求



		3.动静分离
			在我们的软件开发中，有些请求是需要后台处理的，有些请求是不需要经过后台处理的(如:css、 html、jpg、js等等文件)，这些不需要经过后台处理的文件称为静态文件。
			让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来，动静资源做好了拆分以后，我们就可以根据静态资源的特点将其做缓存操作。提高资源响应的速度。


		客户端 ---------->						 ----静态请求本地----->		nginx
		客户端  --------->  nginx ------------>
		客户端 ---------->						 ----动态服务请求----->	    web服务


		4.重写[rewrite] ：默认的http请求，走到80端口，现在想让80端口默认转到443端口
			80 http [rewrite]---- 443 https

		目前，通过使用Nginx大大提高了我们网站的响应速度，优化了用户体验，让网站的健壮性更上一层楼!


		//了解完nginx的基础，学习更多的配置到百度搜索，看别人的配置文档

	*/
}
